package com.example.easyrpc.registry;

import java.util.concurrent.ConcurrentHashMap;

/**
 * 本地注册器
 */
public class LocalRegistry {

    // key 为 服务名称
    // value 为 实现类
    // 通过反射的方式调用
    private static final ConcurrentHashMap<String,Class<?>> registry = new ConcurrentHashMap<>();

    /**
     * 服务注册
     * @param serviceName
     * @param service
     */
    public static void register(String serviceName,Class<?> service){
        registry.put(serviceName,service);
    }

    /**
     * 获取服务
     * @param serviceName
     * @return
     */
    public static Class<?> get(String serviceName){
        return registry.get(serviceName);
    }

    /**
     * 删除服务
     * @param serviceName
     */
    public static void remove(String serviceName){
        registry.remove(serviceName);
    }

}
